class Animal:
    def run(self):
        print("动物会跑")

class Dog(Animal):
    def run(self):
        print("狗跑")
#如果在子类中有何父类同名的方法，则通过子类实例调用方法时候，会调用子类的run，这个特点叫做重写(overwrite)
d=Dog()
d.run()


#当我们调用一个对象的方法时候
#会优先去当前对象中寻找是否具有该方法，如果有则直接调用
#如果没有，则去当前对象的父类中寻找，以此类推,直到找到object，如果依然没有则报错
class A(object):
    def test(self):
        print("AAA")

class B(A):
    def test(self):
        print("BBB")

class C(B):
    def test(self):
        print("CCC")

#创建一个c的实例
c=C()
c.test()